package abg.core.mapper;

import abg.core.domain.db.ChatFriend;
import com.mybatisflex.core.query.QueryWrapper;

public interface ChatFriendMapper extends ZBMapper<ChatFriend> {

    default ChatFriend getById(String userId, String friendUserId) {
        QueryWrapper eq = QueryWrapper.create().eq("user_id", userId).eq("friend_id", friendUserId);
        return selectOneByQuery(eq);
    }

    default void delById(String userId, String friendUserId) {
        QueryWrapper eq = QueryWrapper.create().eq("user_id", userId).eq("friend_id", friendUserId);
        deleteByQuery(eq);
    }

    default ChatFriend getColumnById(String id, String... column) {
        return getColumnByKey("id", id, column);
    }

    default ChatFriend getColumnByKey(String key, String value, String... column) {
        QueryWrapper query = QueryWrapper.create().select(column).eq(key, value);
        return selectOneByQuery(query);
    }

}